is_parallel Interface

public interface is_parallel

Contents


Module Procedures

private pure function is_parallel_vectors(x, y, tol) result(rst)

Tests to see if two vectors are parallel.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:) :: x

The first vector.

real(kind=real64), intent(in), dimension(size(x)) :: y

The second vector.

real(kind=real64), intent(in), optional :: tol

The tolerance to use when testing for parallelism. The default tolerance is 10x machine epsilon.

Return Value logical

Returns true if the vectors are parallel; else, false.

private pure function is_parallel_lines(x, y, tol) result(rst)

Tests to see if two lines are parallel.

Arguments

Type IntentOptional Attributes Name
class(line), intent(in) :: x

The first line.

class(line), intent(in) :: y

The second line.

real(kind=real64), intent(in), optional :: tol

The tolerance to use when testing for parallelism. The default tolerance is 10x machine epsilon.

Return Value logical

Returns true if the lines are parallel; else, false.

private pure function is_parallel_planes(x, y, tol) result(rst)

Tests to see if two planes are parallel.

Arguments

Type IntentOptional Attributes Name
class(plane), intent(in) :: x

The first plane.

class(plane), intent(in) :: y

The second plane.

real(kind=real64), intent(in), optional :: tol

The tolerance to use when testing for parallelism. The default tolerance is 10x machine epsilon.

Return Value logical

Returns true if the planes are parallel; else, false.